home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / tex / texsrc.arc / TEXD.H < prev    next >
C/C++ Source or Header  |  1988-09-14  |  12KB  |  387 lines

  1. /* hacked up by David Dermott for MEGAMAX-c */
  2. #include "tex.h"
  3. #ifdef TRIP
  4. #define MEMMAX 2999L 
  5. #define memmin 0L 
  6. #define bufsize 500L 
  7. #define errorline 64
  8. #define halferrorlin 32 
  9. #define maxprintline 72 
  10. #define stacksize 200L 
  11. #define maxinopen 6
  12. #define fontmax 75L
  13. #define fontmemsize 20000L
  14. #define paramsize 60L 
  15. #define nestsize 40L 
  16. #define maxstrings 3000L 
  17. #define stringvacanc 8000L 
  18. #define poolsize 32000L 
  19. #define savesize 600L 
  20. #define triesize 8000L 
  21. #define dvibufsize 1024 
  22. #define filenamesize 40 
  23. #define poolname "tex.pool" 
  24. #define MEMTOP 2999L 
  25. #else /* not TRIP */
  26. #define MEMMAX 60000L 
  27. #define memmin 0L 
  28. #define bufsize 500L 
  29. #define errorline 79
  30. #define halferrorlin 50 
  31. #define maxprintline 79 
  32. #define stacksize 200L
  33. #define maxinopen 15
  34. #define fontmax 100L
  35. #define fontmemsize 30000L
  36. #define paramsize 60L 
  37. #define nestsize 40L 
  38. #define maxstrings 4400L 
  39. #define stringvacanc 15000L 
  40. #define poolsize 45000L 
  41. #define savesize 2000L 
  42. #define triesize 8000L 
  43. #define dvibufsize 1024 
  44. #define filenamesize 40 
  45. #define poolname "tex.pool" 
  46. #define MEMTOP 50000L 
  47. #endif  /* TRIP */
  48. typedef quarterword ASCIIcode ; 
  49. typedef quarterword eightbits ; 
  50. typedef integer poolpointer ; 
  51. typedef integer strnumber ; 
  52. typedef integer scaled ; 
  53. typedef integer nonnegativei ; 
  54. typedef quarterword smallnumber ; 
  55. typedef quarterword twochoices ; 
  56. typedef quarterword fourchoices ; 
  57. typedef quarterword glueord ; 
  58. typedef struct { int modefield ; 
  59.   halfword headfield, tailfield ; 
  60.   integer pgfield, auxfield, mlfield ; 
  61. } liststaterec ; 
  62. typedef quarterword groupcode ; 
  63. typedef struct { quarterword statefield, indexfield ; 
  64.   halfword startfield, locfield, limitfield, namefield ; 
  65. } instaterecor ; 
  66. typedef integer internalfont ; 
  67. typedef integer dviindex ; 
  68. typedef integer triepointer ; 
  69. typedef halfword hyphpointer ; 
  70. EXTERN integer bad ; 
  71. EXTERN ASCIIcode xord[128] ; 
  72. EXTERN char xchr[256] ; 
  73. EXTERN char nameoffile[filenamesize + 1], realnameoffi[filenamesize + 1] ; 
  74. EXTERN integer namelength ; 
  75. EXTERN ASCIIcode buffer[bufsize + 1] ; 
  76. EXTERN integer first ; 
  77. EXTERN integer last ; 
  78. EXTERN integer maxbufstack ; 
  79. /*EXTERN ASCIIcode strpool[poolsize + 1] ; */
  80. EXTERN ASCIIcode *strpool ; 
  81. /*EXTERN poolpointer strstart[maxstrings + 1] ; */
  82. EXTERN poolpointer *strstart ; 
  83. EXTERN poolpointer poolptr ; 
  84. EXTERN strnumber strptr ; 
  85. EXTERN poolpointer initpoolptr ; 
  86. EXTERN strnumber initstrptr ; 
  87. #ifdef INITEX
  88. EXTERN alphafile poolfile ; 
  89. #endif /* INITEX */
  90. EXTERN alphafile logfile ; 
  91. EXTERN quarterword selector ; 
  92. EXTERN quarterword dig[23] ; 
  93. EXTERN integer tally ; 
  94. EXTERN integer termoffset ; 
  95. EXTERN integer fileoffset ; 
  96. EXTERN ASCIIcode trickbuf[errorline + 1] ; 
  97. EXTERN integer trickcount ; 
  98. EXTERN integer firstcount ; 
  99. EXTERN quarterword interaction ; 
  100. EXTERN boolean deletionsall ; 
  101. EXTERN quarterword history ; 
  102. EXTERN int errorcount ; 
  103. EXTERN strnumber helpline[6] ; 
  104. EXTERN quarterword helpptr ; 
  105. EXTERN boolean useerrhelp ; 
  106. EXTERN integer interrupt ; 
  107. EXTERN boolean OKtointerrup ; 
  108. EXTERN boolean aritherror ; 
  109. EXTERN scaled remainder ; 
  110. EXTERN halfword tempptr ; 
  111. /*EXTERN memoryword zzzaa[memmax - memmin + 1] ; */
  112. EXTERN memoryword *zzzaa ; 
  113. EXTERN halfword lomemmax ; 
  114. EXTERN halfword himemmin ; 
  115. EXTERN integer varused, dynused ; 
  116. EXTERN halfword avail ; 
  117. EXTERN halfword memend ; 
  118. EXTERN halfword rover ; 
  119. #ifdef DEBUG
  120. /*EXTERN boolean zzzab[memmax - memmin + 1], *freearr ; */
  121. EXTERN boolean *zzzab, *freearr ; 
  122. /*EXTERN boolean zzzac[memmax - memmin + 1], *wasfree ; */
  123. EXTERN boolean *zzzac, *wasfree ; 
  124. EXTERN halfword wasmemend, waslomax, washimin ; 
  125. EXTERN boolean panicking ; 
  126. #endif /* DEBUG */
  127. EXTERN integer fontinshortd ; 
  128. EXTERN integer depththresho ; 
  129. EXTERN integer breadthmax ; 
  130. EXTERN liststaterec nest[nestsize + 1] ; 
  131. EXTERN integer nestptr ; 
  132. EXTERN integer maxneststack ; 
  133. EXTERN liststaterec curlist ; 
  134. EXTERN int shownmode ; 
  135. EXTERN quarterword oldsetting ; 
  136. /*EXTERN memoryword zeqtb[5977] ; */
  137. EXTERN memoryword *zeqtb ; 
  138. /*EXTERN quarterword zzzad[710], *xeqlevel ; */
  139. EXTERN quarterword *zzzad, *xeqlevel ; 
  140. /*EXTERN twohalves zzzae[3267], *hash ; */
  141. EXTERN twohalves *zzzae, *hash ; 
  142. EXTERN halfword hashused ; 
  143. EXTERN boolean nonewcontrol ; 
  144. EXTERN integer cscount ; 
  145. /*EXTERN memoryword savestack[savesize + 1] ; */
  146. EXTERN memoryword *savestack ; 
  147. EXTERN integer saveptr ; 
  148. EXTERN integer maxsavestack ; 
  149. EXTERN quarterword curlevel ; 
  150. EXTERN groupcode curgroup ; 
  151. EXTERN integer curboundary ; 
  152. EXTERN integer magset ; 
  153. EXTERN eightbits curcmd ; 
  154. EXTERN halfword curchr ; 
  155. EXTERN halfword curcs ; 
  156. EXTERN halfword curtok ; 
  157. /*EXTERN instaterecor inputstack[stacksize + 1] ; */
  158. EXTERN instaterecor *inputstack ; 
  159. EXTERN integer inputptr ; 
  160. EXTERN integer maxinstack ; 
  161. EXTERN instaterecor curinput ; 
  162. EXTERN integer inopen ; 
  163. EXTERN alphafile inputfile[maxinopen + 1] ; 
  164. EXTERN integer line ; 
  165. EXTERN integer linestack[maxinopen + 1] ; 
  166. EXTERN quarterword scannerstatu ; 
  167. EXTERN halfword warningindex ; 
  168. EXTERN halfword defref ; 
  169. EXTERN halfword paramstack[paramsize + 1] ; 
  170. EXTERN integer paramptr ; 
  171. EXTERN integer maxparamstac ; 
  172. EXTERN integer alignstate ; 
  173. EXTERN integer baseptr ; 
  174. EXTERN halfword parloc ; 
  175. EXTERN halfword partoken ; 
  176. EXTERN boolean forceeof ; 
  177. EXTERN halfword curmark[5] ; 
  178. EXTERN quarterword longstate ; 
  179. EXTERN halfword pstack[9] ; 
  180. EXTERN integer curval ; 
  181. EXTERN quarterword curvallevel ; 
  182. EXTERN smallnumber radix ; 
  183. EXTERN glueord curorder ; 
  184. EXTERN alphafile readfile[16] ; 
  185. EXTERN quarterword readopen[17] ; 
  186. EXTERN halfword condptr ; 
  187. EXTERN quarterword iflimit ; 
  188. EXTERN smallnumber curif ; 
  189. EXTERN integer ifline ; 
  190. EXTERN integer skipline ; 
  191. EXTERN strnumber curname ; 
  192. EXTERN strnumber curarea ; 
  193. EXTERN strnumber curext ; 
  194. EXTERN poolpointer areadelimite ; 
  195. EXTERN poolpointer extdelimiter ; 
  196. EXTERN ccharpointer TEXformatdef ; 
  197. EXTERN boolean nameinprogre ; 
  198. EXTERN strnumber jobname ; 
  199. EXTERN bytefile dvifile ; 
  200. EXTERN strnumber outputfilena ; 
  201. EXTERN strnumber logname ; 
  202. EXTERN bytefile tfmfile ; 
  203. /*EXTERN memoryword fontinfo[fontmemsize + 1] ; */
  204. EXTERN memoryword *fontinfo ; 
  205. EXTERN integer fmemptr ; 
  206. EXTERN internalfont fontptr ; 
  207. /*EXTERN fourquarters fontcheck[fontmax + 1] ; */
  208. EXTERN fourquarters *fontcheck ; 
  209. /*EXTERN scaled fontsize[fontmax + 1] ; */
  210. EXTERN scaled *fontsize ; 
  211. /*EXTERN scaled fontdsize[fontmax + 1] ; */
  212. EXTERN scaled *fontdsize ; 
  213. /*EXTERN halfword fontparams[fontmax + 1] ; */
  214. EXTERN halfword *fontparams ; 
  215. /*EXTERN strnumber fontname[fontmax + 1] ; */
  216. EXTERN strnumber *fontname ; 
  217. /*EXTERN strnumber fontarea[fontmax + 1] ; */
  218. EXTERN strnumber *fontarea ; 
  219. /*EXTERN eightbits fontbc[fontmax + 1] ; */
  220. EXTERN eightbits *fontbc ; 
  221. /*EXTERN eightbits fontec[fontmax + 1] ; */
  222. EXTERN eightbits *fontec ; 
  223. /*EXTERN halfword fontglue[fontmax + 1] ; */
  224. EXTERN halfword *fontglue ; 
  225. /*EXTERN boolean fontused[fontmax + 1] ; */
  226. EXTERN boolean *fontused ; 
  227. /*EXTERN integer hyphenchar[fontmax + 1] ; */
  228. EXTERN integer *hyphenchar ; 
  229. /*EXTERN integer skewchar[fontmax + 1] ; */
  230. EXTERN integer *skewchar ; 
  231. /*EXTERN integer charbase[fontmax + 1] ; */
  232. EXTERN integer *charbase ; 
  233. /*EXTERN integer widthbase[fontmax + 1] ; */
  234. EXTERN integer *widthbase ; 
  235. /*EXTERN integer heightbase[fontmax + 1] ; */
  236. EXTERN integer *heightbase ; 
  237. /*EXTERN integer depthbase[fontmax + 1] ; */
  238. EXTERN integer *depthbase ; 
  239. /*EXTERN integer italicbase[fontmax + 1] ; */
  240. EXTERN integer *italicbase ; 
  241. /*EXTERN integer ligkernbase[fontmax + 1] ; */
  242. EXTERN integer *ligkernbase ; 
  243. /*EXTERN integer kernbase[fontmax + 1] ; */
  244. EXTERN integer *kernbase ; 
  245. /*EXTERN integer extenbase[fontmax + 1] ; */
  246. EXTERN integer *extenbase ; 
  247. /*EXTERN integer parambase[fontmax + 1] ; */
  248. EXTERN integer *parambase ; 
  249. EXTERN fourquarters nullcharacte ; 
  250. EXTERN integer totalpages ; 
  251. EXTERN scaled maxv ; 
  252. EXTERN scaled maxh ; 
  253. EXTERN integer maxpush ; 
  254. EXTERN integer lastbop ; 
  255. EXTERN integer deadcycles ; 
  256. EXTERN boolean do